草庐IT

TypeScript 循环

全部标签

javascript - TypeScript 在 Namespace 下扩展 JQuery

我正在尝试通过TypeScript中的函数扩展默认的JQuery接口(interface)和默认对象jQuery代码///namespaceMyNameSpace{var$=jQuery;exportinterfaceJQuery{test(options:Object):JQuery;}$.fn.test=function(options:Object):JQuery{if(this.length===0){console.log('Error!');returnthis;}console.log(options);returnthis;}exportvartestBody=func

Javascript while 循环返回值

我有一个关于Javascript中while循环的简单问题。当我在浏览器控制台中运行这个简单的循环时:varcount=0;while(count控制台日志的输出是0,1,2...9。(正如预期的那样)。然而,还有一个数字返回到控制台:这个返回值从何而来?我假设这是count++expression的返回值。但为什么不是每个循环都返回值?是否有可能以某种方式将返回值捕获到变量中? 最佳答案 Read-eval-print-loops(REPLs)类似于浏览器控制台,显示代码生成的最后结果。有点令人惊讶的是,JavaScriptwhi

javascript - TypeScript:TypedArray 的泛型类型定义

我正在尝试编写一个函数,通过将任意TypedArray作为输入来扩展/缩小TypedArray,并返回一个具有不同大小的新的相同类型的TypedArray,并将原始元素复制到其中。例如,当您通过时,newUint32Array([1,2,3])新尺寸5,它将返回newUint32Array([1,2,3,0,0]).exportconstresize=(source:ArrayLike,newSize:number,):ArrayLike=>{if(!source.length){returnnewsource.constructor(newSize);}newSize=typeofn

javascript - 扩展 TypeScript 的控制台界面

我想在window.console全局添加一个对象。importReactotronfrom'reactotron-react-native';window.console.tron=Reactotron;尽管当我这样做时,TypeScript会提示新对象:errorTS2339:Property'tron'doesnotexistontype'Console'.我想扩展控制台界面:interfaceConsoleWithTronextendsConsole{tron:any};不过,我不确定如何将这个新界面分配给我的全局控制台对象?帮助会很棒!谢谢。 最佳

javascript - TypeScript 2.4.1 -> fontWeight -> 类型 'number' 不可分配给类型 '"inherit"| 400 |

当我尝试在TypeScript中设置fontWeight时出现此错误:Typesofproperty'test'areincompatible.Type'{fontWeight:number;}'isnotassignabletotype'Partial'.Typesofproperty'fontWeight'areincompatible.Type'number'isnotassignabletotype'"inherit"|400|"initial"|"unset"|"normal"|"bold"|"bolder"|"lighter"|100|200|30...'.即使400是一个

javascript - TypeScript/Angular try catch,try block 中的任何错误都不会捕获 block

我正在使用Angular和TypeScript。我已经使用trycatch构造在API调用的情况下进行错误处理。如果在tryblock中发生任何错误,它根本不会进入catchblock。应用程序仅在那里终止。我也尝试过使用throw。这是一个示例代码片段,try{this.api.getAPI(Id).subscribe(//this.apiismyapiserviceandgetAPIispresentthere(data:any)=>{if(data==null){throw'Emptyresponse';}},(error:HttpErrorResponse)=>{console

javascript - 在 TypeScript 中使用解构和剩余类型的函数参数

我有一个函数:exportdefault({input:{name,onChange,value,...restInput},meta,...rest})=>(...);鉴于“name”是一个字符串,“onChange”是一个函数,“value”是一个字符串,“meta”是一个对象,我如何为这些参数添加类型?我最好的猜测是这样的:exportdefault({input:{(name:String),(onChange:function),(value:String),...restInput},(meta:Object),...rest})=>(...);但是好像有语法错误。甚至我不

Javascript 'delete' 在迭代循环中不起作用

我是一名使用JavaScript的C/C++/Java程序员。我正在尝试编写一个函数来删除对象“obj”的所有属性。我已经阅读了“HowtoquicklyclearaJavascriptObject?”上的帖子,看到有两个答案:(1)创建一个新的“obj”(我不想这样做,因为我的代码是一个运行在移动浏览器,我想尽量减少垃圾收集);(2)在循环中迭代对象的属性并删除属性。后一种方法在Chrome12中不起作用。考虑以下代码:varfoo={};foo['baz']='bar';console.log("1.foo.baz="+foo.baz);deletefoo.baz;console.

javascript - 在 Javascript 中循环遍历对象内部的数组

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:LoopthroughJsonobject{"data":[{"name":"Jen","id":"1"},{"name":"Steve","id":"8"}]}我正在与之交互的服务器以上述方式响应。我正在尝试遍历它entercodeherefor..in语句。这就是我想要做的:for(variteminresponse.data){console.log(item.name);}这行不通。出了什么问题?谢谢阅读评论后,我知道可以使用以下内容:for(variteminresponse.data){conso

javascript - 为什么我的 for 循环不适用于我的 Javascript 属性?

我创建了这个对象及其属性:varobj={};Object.defineProperty(obj,"value",{value:true,writable:false,enumerable:true,configurable:true});varname="John";Object.defineProperty(obj,"name",{get:function(){returnname;},set:function(value){name=value;}});然后我对它们调用一个for循环:for(varpropinobj){console.log(prop);}根据我的教程,应该会产